package dto

// DataPermissionQueryParams 数据权限查询参数
type DataPermissionQueryParams struct {
	RoleID *uint `form:"roleId"` // 角色ID
}

// DataPermissionResponse 数据权限响应
type DataPermissionResponse struct {
	RoleID    uint   `json:"roleId"`
	RoleName  string `json:"roleName"`
	DataScope int8   `json:"dataScope"` // 1-全部数据 2-本部门数据 3-本部门及以下数据 4-仅自己数据 5-自定义数据
	OrgIDs    []uint `json:"orgIds"`    // 自定义组织ID列表
	CreatedAt string `json:"createdAt"`
	UpdatedAt string `json:"updatedAt"`
}

// UpdateDataPermissionRequest 更新数据权限请求
type UpdateDataPermissionRequest struct {
	DataScope int8   `json:"dataScope" binding:"required,min=1,max=5"` // 数据权限范围
	OrgIDs    []uint `json:"orgIds"`                                   // 自定义组织ID列表（dataScope=5时必填）
}

// RoleDataPermissionRequest 角色数据权限请求（别名）
type RoleDataPermissionRequest = UpdateDataPermissionRequest

// RoleDataPermissionResponse 角色数据权限响应
type RoleDataPermissionResponse struct {
	RoleID        uint   `json:"roleId"`
	DataScope     int    `json:"dataScope"`
	OrgIDs        []uint `json:"orgIds"`
	DataScopeText string `json:"dataScopeText"`
}
